﻿namespace Runtime.Models {

    /// <summary>
    /// 效果数据列表
    /// </summary>
    public interface IDFR_ReadOnlyBattleEffectListModelBase : IDFR_ReadOnlyListModel<IDFR_BattleEffectModelBase> {

        new IDFR_BattleEffectListModelBase AsReadWrite();
    }

    /// <summary>
    /// 效果数据列表
    /// </summary>
    public interface IDFR_BattleEffectListModelBase : IDFR_ReadOnlyBattleEffectListModelBase, IDFR_ListModel<IDFR_BattleEffectModelBase> {
    }

    [Implement(typeof(IDFR_ReadOnlyBattleEffectListModelBase))]
    [Implement(typeof(IDFR_ReadOnlyListModel<IDFR_BattleEffectModelBase>))]
    [Implement(typeof(IDFR_BattleEffectListModelBase))]
    [Implement(typeof(IDFR_ListModel<IDFR_BattleEffectModelBase>))]
    internal sealed class DFR_BattleEffectListModelBase : DFR_ListModel<IDFR_BattleEffectModelBase>,
        IDFR_ReadOnlyBattleEffectListModelBase, IDFR_BattleEffectListModelBase {

        public new IDFR_BattleEffectListModelBase AsReadWrite() => this;
    }
}
